安卓(Android studio)编写一个计算器,可以连续加减乘除,可加小数点,不包含括号以及加减乘除优先算法。

您所在的位置:网站首页 android studio写计算器 安卓(Android studio)编写一个计算器,可以连续加减乘除,可加小数点,不包含括号以及加减乘除优先算法。

安卓(Android studio)编写一个计算器,可以连续加减乘除,可加小数点,不包含括号以及加减乘除优先算法。

2024-07-09 06:28:53| 来源: 网络整理| 查看: 265

安卓(Android studio)编写一个计算器,可以累加,可加小数点,不包含括号以及加减乘除优先算法。

首先需要在res目录下的layout文件下创建一个xml文件进行界面的布局设计,接着在Java目录下创建一个Java的class类文件,然后在AndroidManifest.xml设置启动Java的class类文件。具体实现如下:(部分代码可以封装处理,时间不够处理的有点繁琐)

1. 布局设计(各个控件的ID,大小等设计)

2. 激活设置

//Lsn0是Java类

3.Java实现具体功能

package com.example.demo; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class Lsn0 extends AppCompatActivity { //Button btn1,btn2,btn3; private TextView txtResult; //Button[] btn=new Button[10]; private Button btnAdd, btncheng, btnchu, btnDel, btnCls, btnobs, btneql, btndot; private StringBuffer digitalA = new StringBuffer(), digitalB = new StringBuffer(); private boolean isChar = false, isDot = false; private int operate = 0; Button[] btn = new Button[10]; int[] btnId = {R.id.btn0, R.id.btn1, R.id.btn2, R.id.btn3, R.id.btn4, R.id.btn5, R.id.btn6, R.id.btn7, R.id.btn8, R.id.btn9}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.main_layout); txtResult = (TextView) this.findViewById(R.id.txtResult); //btn1 = (Button) this.findViewById(R.id.btn1); //btn2 = (Button) this.findViewById(R.id.btn2); //btn3 = (Button) this.findViewById(R.id.btn3); //txtResult = (TextView) this.findViewById(R.id.txtResult); initView(); btnAdd = (Button) this.findViewById(R.id.btnAdd); btnobs = (Button) this.findViewById(R.id.btnobs); btncheng = (Button) this.findViewById(R.id.btncheng); btnchu = (Button) this.findViewById(R.id.btnchu); btnDel = (Button) this.findViewById(R.id.btnDel); btnCls = (Button) this.findViewById(R.id.btnCls); btneql = (Button) this.findViewById(R.id.btneql); btndot = (Button) this.findViewById(R.id.btndot); btnAdd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { operate = 1; isChar = true; if (digitalA.length()!=0&&digitalB.length()!=0) { //txtResult.setText("0"); float a = Float.parseFloat(digitalA.toString()); float b = Float.parseFloat(digitalB.toString()); float c=0; c=a+b; digitalA=new StringBuffer(); digitalA.append(c); digitalB=new StringBuffer(); } txtResult.setText(digitalA); //float a = Float.parseFloat(digitalA.toString()); //float b = Float.parseFloat(digitalB.toString()); //if (digitalB.length()!=0&&digitalA.length()!=0){ // } } }); btnobs.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { operate = 2; isChar = true; txtResult.setText("0"); if (digitalA.length()!=0&&digitalB.length()!=0) { //txtResult.setText("0"); float a = Float.parseFloat(digitalA.toString()); float b = Float.parseFloat(digitalB.toString()); float c=0; c=a-b; digitalA=new StringBuffer(); digitalA.append(c); digitalB=new StringBuffer(); } } }); btncheng.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { operate = 3; isChar = true; txtResult.setText("0"); if (digitalA.length()!=0&&digitalB.length()!=0) { //txtResult.setText("0"); float a = Float.parseFloat(digitalA.toString()); float b = Float.parseFloat(digitalB.toString()); float c=0; c=a*b; digitalA=new StringBuffer(); digitalA.append(c); digitalB=new StringBuffer(); } } }); btnchu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { operate = 4; isChar = true; txtResult.setText("0"); if (digitalA.length()!=0&&digitalB.length()!=0) { //txtResult.setText("0"); float a = Float.parseFloat(digitalA.toString()); float b = Float.parseFloat(digitalB.toString()); float c=0; c=a/b; digitalA=new StringBuffer(); digitalA.append(c); digitalB=new StringBuffer(); } } }); /*btndot.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //operate=5; isChar=true; float a=Float.parseFloat(digitalA.toString()); float b=Float.parseFloat(digitalB.toString()); if (a!=null){ } //txtResult.setText(c+""); //digitalA=new StringBuffer(); //digitalB=new StringBuffer(); //txtResult.setText(null); } });*/ btnCls.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { digitalB = new StringBuffer(); digitalA = new StringBuffer(); txtResult.setText("请输入"); } }); btnDel.setOnClickListener(new MyClick()); btndot.setOnClickListener(new MyClick()); btneql.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { float a = Float.parseFloat(digitalA.toString()); float b = Float.parseFloat(digitalB.toString()); float c = 0; switch (operate) { case 1: c = a + b; break; case 2: c = a - b; break; case 3: c = a * b; break; case 4: c = a / b; break; } txtResult.setText(c + ""); digitalA = new StringBuffer(); digitalB = new StringBuffer(); } }); MyClick myClick = new MyClick(); for (int i = 0; i @Override public void onClick(View view) { switch (view.getId()) { case R.id.btnDel: if (isChar) { String temp = digitalB.substring(0, digitalB.length() - 1); digitalB = new StringBuffer(); digitalB.append(temp); txtResult.setText(digitalB.toString()); break; } else { String temp = digitalA.substring(0, digitalA.length() - 1); digitalA = new StringBuffer(); digitalA.append(temp); txtResult.setText(digitalA.toString()); break; } case R.id.btndot: if (isChar) { if (!isDot) { if (digitalB.length() > 0) { digitalB.append("."); isDot = true; break; } else { digitalB.append("0"); digitalB.append("."); isDot = true; break; } } break; } else { if (!isDot) { if (digitalA.length() > 0) { digitalA.append("."); isDot = true; break; } else { digitalA.append("0"); digitalA.append("."); isDot = true; break; } } break; } // case R.id.btnCls:{ // // // break; // //digitalA.delete(0,9); // //digitalB.delete(0,9); // } case R.id.btn1: if (isChar) { digitalB.append('1'); break; } else { digitalA.append("1"); break; } case R.id.btn2: if (isChar) { digitalB.append('2'); break; } else { digitalA.append("2"); break; } case R.id.btn3: if (isChar) { digitalB.append('3'); break; } else { digitalA.append("3"); break; } case R.id.btn4: if (isChar) { digitalB.append('4'); break; } else { digitalA.append("4"); break; } case R.id.btn5: if (isChar) { digitalB.append('5'); break; } else { digitalA.append("5"); break; } case R.id.btn6: if (isChar) { digitalB.append('6'); break; } else { digitalA.append("6"); break; } case R.id.btn7: if (isChar) { digitalB.append('7'); break; } else { digitalA.append("7"); break; } case R.id.btn8: if (isChar) { digitalB.append('8'); break; } else { digitalA.append("8"); break; } case R.id.btn9: if (isChar) { digitalB.append('9'); break; } else { digitalA.append("9"); break; } case R.id.btn0: if (isChar) { digitalB.append('0'); break; } else { digitalA.append("0"); break; } /* case R.id.btndot: if (isChar) { digitalB.append("."); break; }else { digitalA.append("."); break; }*/ } if (isChar) { txtResult.setText(digitalB.toString()); } else { txtResult.setText(digitalA.toString()); } } } void initView() { for (int i = 0; i


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭